#pragma once
#define SIZE 1024

// 刷新方案
#define FLUSH_NONE 0
#define FLUSH_LINE 1
#define FLUSH_FULL 2

// FILE
struct IO_FILE
{
    int flag;   // 刷新方式
    int fileno; // 文件描述符
    char outbuffer[SIZE];
    int cap;  // 缓冲区容量
    int size; // 缓冲区总大小
};

typedef struct IO_FILE mFILE;

// 接口
mFILE *mfopen(const char *filename, const char *mode);
int mfwrite(const void *ptr, int num, mFILE *stream);
void mfflush(mFILE *stream);
void mfclose(mFILE *stream);
